/**
 *
 **/
package mwt.xml.xdbforms.schemalayer;

import java.util.Map;
import mwt.xml.xdbforms.schemalayer.exception.SchemaDocumentBuilderException;

/**
 *
 * @author Gianfranco Murador, Matteo Ferri, Cristian Castiglia
 * Copyright (C) 2009  MCG08
 */
public interface SchemaDocumentBuilder {

    
    /**
     * Aggiunge dei binding per ogni namespace
     * @param map mappa i prefissi con le uri
     */
    public void addNameSpaceBinding(Map<String, String> map)
            throws SchemaDocumentBuilderException;


    /**
     * Crea un nuovo schema xml
     * @param table nome della tabella del db
     * @param database nome del database
     * @return oggetto che implementa l'interfaccia SchemaDocument
     * @see SchemaDocument
     * @throws mwt.xml.xdbforms.schemalayer.exception.SchemaDocumentBuilderException
     */

    public SchemaDocument newSchemaDocument(String table,String database)
            throws SchemaDocumentBuilderException;

    /**
     * dice al builder che lo xml schema deve contenere i valori delle
     * chiavi esterne o meno
     * @param insert true se si desidera inserire i valori delle chiavi esterne,false altrimenti
     */
    public void setInsertFKValues(boolean insert);

}
